package siga.modelo;

import java.io.*;
import java.util.TreeSet;

public class CadastrarAluno {
	private String arquivo;
	
	public CadastrarAluno(String arquivo){
		this.arquivo = arquivo;
	}
	
	public void cadastro(Aluno a) throws Exception{
		TreeSet<Aluno> alunos= new TreeSet<Aluno>();
		
		try{
			FileReader     fr = new FileReader(arquivo);
			BufferedReader br = new BufferedReader(fr);
			FileWriter     fw = new FileWriter(arquivo, true);
			BufferedWriter bw = new BufferedWriter(fw);
			
			Aluno operacao;
			String linha;
			String[] leitura;
			
			while((linha = br.readLine()) != null){
				leitura = linha.split("\\|");
				operacao = new Aluno(leitura[1], leitura[2], leitura[0], leitura[4], leitura[3]);
				alunos.add(operacao);
			}
			if(alunos.contains(a)){
			throw new Exception("Cadastro Existente.");
			}
			else{
				String entrada = a.getCurso()+"|"+a.getNome()+"|"+a.getDre()+"|"+a.getPeriodo()+"|"+a.getEmail();
				bw.append(entrada,0,entrada.length());
				bw.newLine();
				bw.flush();
				fw.close();
				bw.close();
				fr.close();
				br.close();
			}
		} catch (FileNotFoundException fnf){
			try{
				FileWriter     fw = new FileWriter("cadastroAlunos.txt", true);
				BufferedWriter bw = new BufferedWriter(fw);
				String entrada = a.getCurso()+"|"+a.getNome()+"|"+a.getDre()+"|"+a.getPeriodo()+"|"+a.getEmail();
				bw.append(entrada,0,entrada.length());
				bw.newLine();
				bw.flush();
				fw.close();
				bw.close();
			} catch (Exception e) {}
		} catch (IOException io){}
	}
}
